﻿using System;
using System.ComponentModel;
using System.Xml.Serialization;
using DevExpress.Xpo;
using DevExpress.Xpo.Metadata;
using DevExpress.Xpo.Helpers;
using DevExpress.Data.Filtering;
using DevExpress.ExpressApp;
using DevExpress.Persistent.Base;
using DevExpress.Persistent.BaseImpl;
using DevExpress.Persistent.Validation;
namespace Top.Module.Domain
{
    [DefaultClassOptions]
    [Persistent("TopFenxiaoProduct")]
    public class TopFenxiaoProduct : BaseObject
    {
        //begin
        public TopFenxiaoProduct()
        {}
        public TopFenxiaoProduct(Session session) : base(session)
        {}
        public override void AfterConstruction(){base.AfterConstruction();}

        private string _DiscountId;
        public string DiscountId
        {
            get
            {
                return _DiscountId;
            }
            set
            {
                SetPropertyValue("DiscountId", ref _DiscountId, value);
            }
        }
        private string _TradeType;
        public string TradeType
        {
            get
            {
                return _TradeType;
            }
            set
            {
                SetPropertyValue("TradeType", ref _TradeType, value);
            }
        }
        private decimal _StandardPrice;
        public decimal StandardPrice
        {
            get
            {
                return _StandardPrice;
            }
            set
            {
                SetPropertyValue("StandardPrice", ref _StandardPrice, value);
            }
        }
        private DateTime _UpshelfTime;
        public DateTime UpshelfTime
        {
            get
            {
                return _UpshelfTime;
            }
            set
            {
                SetPropertyValue("UpshelfTime", ref _UpshelfTime, value);
            }
        }
        private string _Pid;
        public string Pid
        {
            get
            {
                return _Pid;
            }
            set
            {
                SetPropertyValue("Pid", ref _Pid, value);
            }
        }
        private string _Name;
        public string Name
        {
            get
            {
                return _Name;
            }
            set
            {
                SetPropertyValue("Name", ref _Name, value);
            }
        }
        private string _ProductcatId;
        public string ProductcatId
        {
            get
            {
                return _ProductcatId;
            }
            set
            {
                SetPropertyValue("ProductcatId", ref _ProductcatId, value);
            }
        }
        private decimal _CostPrice;
        public decimal CostPrice
        {
            get
            {
                return _CostPrice;
            }
            set
            {
                SetPropertyValue("CostPrice", ref _CostPrice, value);
            }
        }
        private decimal _RetailPriceLow;
        public decimal RetailPriceLow
        {
            get
            {
                return _RetailPriceLow;
            }
            set
            {
                SetPropertyValue("RetailPriceLow", ref _RetailPriceLow, value);
            }
        }
        private decimal _RetailPriceHigh;
        public decimal RetailPriceHigh
        {
            get
            {
                return _RetailPriceHigh;
            }
            set
            {
                SetPropertyValue("RetailPriceHigh", ref _RetailPriceHigh, value);
            }
        }
        private string _OuterId;
        public string OuterId
        {
            get
            {
                return _OuterId;
            }
            set
            {
                SetPropertyValue("OuterId", ref _OuterId, value);
            }
        }
        private long _Quantity;
        public long Quantity
        {
            get
            {
                return _Quantity;
            }
            set
            {
                SetPropertyValue("Quantity", ref _Quantity, value);
            }
        }
        private long _AlarmNumber;
        public long AlarmNumber
        {
            get
            {
                return _AlarmNumber;
            }
            set
            {
                SetPropertyValue("AlarmNumber", ref _AlarmNumber, value);
            }
        }
        private string _Pictures;
        public string Pictures
        {
            get
            {
                return _Pictures;
            }
            set
            {
                SetPropertyValue("Pictures", ref _Pictures, value);
            }
        }
        private string _DescPath;
        [Size(SizeAttribute.Unlimited)]
        public string DescPath
        {
            get
            {
                return _DescPath;
            }
            set
            {
                SetPropertyValue("DescPath", ref _DescPath, value);
            }
        }
        private string _Prov;
        public string Prov
        {
            get
            {
                return _Prov;
            }
            set
            {
                SetPropertyValue("Prov", ref _Prov, value);
            }
        }
        private string _City;
        public string City
        {
            get
            {
                return _City;
            }
            set
            {
                SetPropertyValue("City", ref _City, value);
            }
        }
        private string _PostageType;
        public string PostageType
        {
            get
            {
                return _PostageType;
            }
            set
            {
                SetPropertyValue("PostageType", ref _PostageType, value);
            }
        }
        private string _PostageId;
        public string PostageId
        {
            get
            {
                return _PostageId;
            }
            set
            {
                SetPropertyValue("PostageId", ref _PostageId, value);
            }
        }
        private decimal _PostageOrdinary;
        public decimal PostageOrdinary
        {
            get
            {
                return _PostageOrdinary;
            }
            set
            {
                SetPropertyValue("PostageOrdinary", ref _PostageOrdinary, value);
            }
        }
        private decimal _PostageFast;
        public decimal PostageFast
        {
            get
            {
                return _PostageFast;
            }
            set
            {
                SetPropertyValue("PostageFast", ref _PostageFast, value);
            }
        }
        private decimal _PostageEms;
        public decimal PostageEms
        {
            get
            {
                return _PostageEms;
            }
            set
            {
                SetPropertyValue("PostageEms", ref _PostageEms, value);
            }
        }
        private bool _HaveInvoice;
        public bool HaveInvoice
        {
            get
            {
                return _HaveInvoice;
            }
            set
            {
                SetPropertyValue("HaveInvoice", ref _HaveInvoice, value);
            }
        }
        private bool _HaveGuarantee;
        public bool HaveGuarantee
        {
            get
            {
                return _HaveGuarantee;
            }
            set
            {
                SetPropertyValue("HaveGuarantee", ref _HaveGuarantee, value);
            }
        }
        private string _Status;
        public string Status
        {
            get
            {
                return _Status;
            }
            set
            {
                SetPropertyValue("Status", ref _Status, value);
            }
        }
        private long _ItemsCount;
        public long ItemsCount
        {
            get
            {
                return _ItemsCount;
            }
            set
            {
                SetPropertyValue("ItemsCount", ref _ItemsCount, value);
            }
        }
        private long _OrdersCount;
        public long OrdersCount
        {
            get
            {
                return _OrdersCount;
            }
            set
            {
                SetPropertyValue("OrdersCount", ref _OrdersCount, value);
            }
        }
        private DateTime _Created;
        public DateTime Created
        {
            get
            {
                return _Created;
            }
            set
            {
                SetPropertyValue("Created", ref _Created, value);
            }
        }
        private DateTime _Modified;
        public DateTime Modified
        {
            get
            {
                return _Modified;
            }
            set
            {
                SetPropertyValue("Modified", ref _Modified, value);
            }
        }
        [Association("TopFenxiaoProductSkus", typeof(TopFenxiaoSku)), Aggregated]
        public XPCollection<TopFenxiaoSku> Skus
        {
            get
            {
                return GetCollection<TopFenxiaoSku>("Skus");
            }
        }
        //end
    }
}
